<?php
class Model_Video extends Df_Model
{

    private $user_id;

    public function __construct ($id = null) {
        $this->user_id = $id;
        parent::__construct(new Model_DbTable_Guests(), $id);
    }

    public function sendToQueue () {
        // Конфигурационные параметры
        // @see Zend_Queue_Adapater::__construct()
        

        $options = array('name' => 'queue1');
        
        // Создание очереди на основе массива
        $queue = new Zend_Queue('Array', $options);
        
        // Получение списка очередей
        foreach ($queue->getQueues() as $name) {
            echo $name, "<br>";
        }
        echo "<br>";
        // Создание новой очереди
        $queue2 = $queue->createQueue('queue2');
        
        $queue->send("asdasD");
        // Подсчёт количества сообщений в очереди (реализует интерфейс Countable из SPL)
        echo count($queue);
        
        // Получение 5 сообщений из очереди
        $messages = $queue->receive(5);
        
        foreach ($messages as $i => $message) {
            echo $message->body, "<br>";
            
            // Сообщение обработано, его можно удалить
            $queue->deleteMessage($message);
        }
        
        // Отправка сообщения в текущую очередь
        $queue->send('My Test Message');
        
        // Удаление созданной очереди и всех сообщений в ней
        $queue->deleteQueue('queue2');
    }

    public function createScreenShot ($video) {
        
        // where ffmpeg is located, such as /usr/sbin/ffmpeg
        $ffmpeg = 'ffmpeg';
        
        // where you'll save the image
        $image = dirname(__FILE__) . '/demo.jpg';
        
        // default time to get the image
        $second = 1;
        
        // get the duration and a random place within that
        $cmd = "$ffmpeg -i $video 2>&1";
        if (preg_match('/Duration: ((\d+):(\d+):(\d+))/s', `$cmd`, $time)) {
            $total = ($time[2] * 3600) + ($time[3] * 60) + $time[4];
            $second = rand(1, ($total - 1));
        }
        
        // get the screenshot
        $cmd = "$ffmpeg -i $video -deinterlace -an -ss $second -t 00:00:01 -r 1 -y -vcodec mjpeg -f mjpeg $image 2>&1";
        $return = `$cmd`;
        
        // done! <img src="http://blog.amnuts.com/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley">
        echo 'done!';
    
    }

}